Today, with the ubiquity of multimedia digital content such as video streams that are available from the Internet, consumers spend some time watching video streams on client devices, such as media players, as well as watching traditional television. The content played by the media players generally includes both primary content, such as video streams, and secondary content, such as advertisements (including, for example, both commercial advertisements and public announcements). Traditionally, the media players directly request advertisements from different advertisement services; however, there are several issues associated with this approach. First, different advertisement services may use different ad-server protocols. Some advertisement services use protocols that conform to the Video Ad Serving Template (VAST) protocol, which is defined by the Interactive Advertising Bureau and incorporated herein by reference in its entirety (Specifications for VAST 3.0 can be found, for example, at http://www.iab.net/vast), and some advertisement services may use protocols that do not conform to the VAST protocol. Second, even for advertisement services that use the VAST protocol, different companies may have variations in how they interpret the VAST specification. Third, protocols such as the VAST protocol use extensible markup language (XML), which may not be friendly to media players or platforms that run on browsers with limited memory footprints (such as embedded TV browsers) and/or are non-HTML platforms. As a result, it is difficult to create a single lightweight media player application that can run on all media players/platforms and incorporate all the logic required to make advertisement requests from different advertisement services.
Therefore, there is a need in the art to provide systems and methods for addressing the issues faced by the lightwieght meida player applications. Accordingly, it is desirable to provide methods and systems that overcome these and other deficiencies of the related art.